package com.bx.scala.ObjextFoundation06

abstract class School(val name:String)  {
  /**
   * 抽象方法id
   * 方法名叫id，没有具体的函数体内容，就是一个抽象的方法
   * 抽象方法不用abstract关键字
   */
  def  id():Int
}

class University(name :String) extends School(name) {
  /**
   * 在子类中，重写超类的抽象方法，不用override关键字
   * @return
   */
  override def id():Int = name.hashCode.abs
}

object DemoAbstract{
  def main(args: Array[String]): Unit = {
    val peking = new University("Peking")
    println(s"Id: ${peking.id()},name: ${peking.name}")
  }
}
